package org.verlet.service;

import org.verlet.dto.Exposer;
import org.verlet.dto.SeckillExecution;
import org.verlet.entitry.Seckill;
import org.verlet.exception.SeckillException;

import java.util.List;

public interface SeckillService {

    /**
     * 查询所有秒杀的记录
     */
    List<Seckill> getSeckillList();

    /**
     * 查询单个秒杀记录
     */
    Seckill getById(long seckillId);

    /**
     * 秒杀开启时输出秒杀接口的地址，否则输出系统时间和秒杀时间
     */
    Exposer exportSecillUrl(long seckillId);

    /**
     * 执行秒杀
     */
    @Deprecated
    SeckillExecution executeSeckill(long seckillId, long userPhone, String md5) throws SeckillException;

    /**
     * 执行秒杀 存储过程
     */
    SeckillExecution executeSeckillProced(long seckillId, long userPhone, String md5);
}
